// 给输入框绑定值改变事件  input事件
// 获取输入框的值
// 做合法性判断
// 检验通过 把输入框的值发送到后台
// 返回的数据渲染到页面上

// 搜索防抖 （页面抖动）靠定时器来解决
// 1定义全局的定时器id
import { request } from "../../request/req.js";
import regeneratorRuntime from "../../lib/runtime/runtime.js";
Page({

  /**
   * 页面的初始数据
   */
  data: {
    goods: [],
    // 取消按钮是否显示
    isFocus: false,
    // inuput框输入值
    inputValue: ''
  },
  timeId: -1,
  // 输入框输入值改变事件
  handleInput(e) {
    // 获取输入框的值
    const {value} = e.detail;
    // 检测合法性
    if(!value.trim().length) {
      // 值不合法
      this.setData({
        isFocus: false,
        goods: [],
        inputValue: ''
      })
      return
    }
    // 发送请求获取数据
    clearTimeout(this.timeId);  
    this.timeId = setTimeout(()=> {
      this.qsearch(value);
    },1000);
    this.setData({
      isFocus: true
    })
  },

  // 发送请求
  async qsearch(query) {
    const res = await request({
      url: '/goods/qsearch',
      data: {query}
    });
    // console.log(res);
    this.setData({
      goods: res.data.message
    })
  },

  // 点击取消按钮
  handleCancel() {
    this.setData({
      inputValue: '',
      isFocus: false,
      goods: []
    })
  }
})